!
function(e) {
    function t(n) {
        if (r[n]) return r[n].exports;
        var i = r[n] = {
            i: n,
            l: !1,
            exports: {}
        };
        return e[n].call(i.exports, i, i.exports, t),
        i.l = !0,
        i.exports
    }
    var r = {};
    t.m = e,
    t.c = r,
    t.d = function(e, r, n) {
        t.o(e, r) || Object.defineProperty(e, r, {
            configurable: !1,
            enumerable: !0,
            get: n
        })
    },
    t.n = function(e) {
        var r = e && e.__esModule ?
        function() {
            return e.
        default
        }:
        function() {
            return e
        };
        return t.d(r, "a", r),
        r
    },
    t.o = function(e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    },
    t.p = "",
    t(t.s = 4)
} ([function(e, t, r) { !
    function(r, n) {
        e.exports = t = n()
    } (0,
    function() {
        var e = e ||
        function(e, t) {
            var r = Object.create ||
            function() {
                function e() {}
                return function(t) {
                    var r;
                    return e.prototype = t,
                    r = new e,
                    e.prototype = null,
                    r
                }
            } (),
            n = {},
            i = n.lib = {},
            o = i.Base = function() {
                return {
                    extend: function(e) {
                        var t = r(this);
                        return e && t.mixIn(e),
                        t.hasOwnProperty("init") && this.init !== t.init || (t.init = function() {
                            t.$super.init.apply(this, arguments)
                        }),
                        t.init.prototype = t,
                        t.$super = this,
                        t
                    },
                    create: function() {
                        var e = this.extend();
                        return e.init.apply(e, arguments),
                        e
                    },
                    init: function() {},
                    mixIn: function(e) {
                        for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);
                        e.hasOwnProperty("toString") && (this.toString = e.toString)
                    },
                    clone: function() {
                        return this.init.prototype.extend(this)
                    }
                }
            } (),
            a = i.WordArray = o.extend({
                init: function(e, t) {
                    e = this.words = e || [],
                    this.sigBytes = void 0 != t ? t: 4 * e.length
                },
                toString: function(e) {
                    return (e || u).stringify(this)
                },
                concat: function(e) {
                    var t = this.words,
                    r = e.words,
                    n = this.sigBytes,
                    i = e.sigBytes;
                    if (this.clamp(), n % 4) for (var o = 0; o < i; o++) {
                        var a = r[o >>> 2] >>> 24 - o % 4 * 8 & 255;
                        t[n + o >>> 2] |= a << 24 - (n + o) % 4 * 8
                    } else for (var o = 0; o < i; o += 4) t[n + o >>> 2] = r[o >>> 2];
                    return this.sigBytes += i,
                    this
                },
                clamp: function() {
                    var t = this.words,
                    r = this.sigBytes;
                    t[r >>> 2] &= 4294967295 << 32 - r % 4 * 8,
                    t.length = e.ceil(r / 4)
                },
                clone: function() {
                    var e = o.clone.call(this);
                    return e.words = this.words.slice(0),
                    e
                },
                random: function(t) {
                    for (var r, n = [], i = 0; i < t; i += 4) {
                        var o = function(t) {
                            var t = t,
                            r = 987654321,
                            n = 4294967295;
                            return function() {
                                r = 36969 * (65535 & r) + (r >> 16) & n,
                                t = 18e3 * (65535 & t) + (t >> 16) & n;
                                var i = (r << 16) + t & n;
                                return i /= 4294967296,
                                (i += .5) * (e.random() > .5 ? 1 : -1)
                            }
                        } (4294967296 * (r || e.random()));
                        r = 987654071 * o(),
                        n.push(4294967296 * o() | 0)
                    }
                    return new a.init(n, t)
                }
            }),
            s = n.enc = {},
            u = s.Hex = {
                stringify: function(e) {
                    for (var t = e.words,
                    r = e.sigBytes,
                    n = [], i = 0; i < r; i++) {
                        var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;
                        n.push((o >>> 4).toString(16)),
                        n.push((15 & o).toString(16))
                    }
                    return n.join("")
                },
                parse: function(e) {
                    for (var t = e.length,
                    r = [], n = 0; n < t; n += 2) r[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;
                    return new a.init(r, t / 2)
                }
            },
            c = s.Latin1 = {
                stringify: function(e) {
                    for (var t = e.words,
                    r = e.sigBytes,
                    n = [], i = 0; i < r; i++) {
                        var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;
                        n.push(String.fromCharCode(o))
                    }
                    return n.join("")
                },
                parse: function(e) {
                    for (var t = e.length,
                    r = [], n = 0; n < t; n++) r[n >>> 2] |= (255 & e.charCodeAt(n)) << 24 - n % 4 * 8;
                    return new a.init(r, t)
                }
            },
            f = s.Utf8 = {
                stringify: function(e) {
                    try {
                        return decodeURIComponent(escape(c.stringify(e)))
                    } catch(e) {
                        throw new Error("Malformed UTF-8 data")
                    }
                },
                parse: function(e) {
                    return c.parse(unescape(encodeURIComponent(e)))
                }
            },
            l = i.BufferedBlockAlgorithm = o.extend({
                reset: function() {
                    this._data = new a.init,
                    this._nDataBytes = 0
                },
                _append: function(e) {
                    "string" == typeof e && (e = f.parse(e)),
                    this._data.concat(e),
                    this._nDataBytes += e.sigBytes
                },
                _process: function(t) {
                    var r = this._data,
                    n = r.words,
                    i = r.sigBytes,
                    o = this.blockSize,
                    s = 4 * o,
                    u = i / s;
                    u = t ? e.ceil(u) : e.max((0 | u) - this._minBufferSize, 0);
                    var c = u * o,
                    f = e.min(4 * c, i);
                    if (c) {
                        for (var l = 0; l < c; l += o) this._doProcessBlock(n, l);
                        var h = n.splice(0, c);
                        r.sigBytes -= f
                    }
                    return new a.init(h, f)
                },
                clone: function() {
                    var e = o.clone.call(this);
                    return e._data = this._data.clone(),
                    e
                },
                _minBufferSize: 0
            }),
            h = (i.Hasher = l.extend({
                cfg: o.extend(),
                init: function(e) {
                    this.cfg = this.cfg.extend(e),
                    this.reset()
                },
                reset: function() {
                    l.reset.call(this),
                    this._doReset()
                },
                update: function(e) {
                    return this._append(e),
                    this._process(),
                    this
                },
                finalize: function(e) {
                    return e && this._append(e),
                    this._doFinalize()
                },
                blockSize: 16,
                _createHelper: function(e) {
                    return function(t, r) {
                        return new e.init(r).finalize(t)
                    }
                },
                _createHmacHelper: function(e) {
                    return function(t, r) {
                        return new h.HMAC.init(e, r).finalize(t)
                    }
                }
            }), n.algo = {});
            return n
        } (Math);
        return e
    })
},
function(e, t, r) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    t.UPLOADSTATE = {
        INIT: "init",
        UPLOADING: "uploading",
        COMPLETE: "complete",
        INTERRUPT: "interrupt"
    },
    t.UPLOADSTEP = {
        INIT: "init",
        PART: "part",
        COMPLETE: "complete"
    },
    t.UPLOADDEFAULT = {
        PARALLEL: 5,
        PARTSIZE: 1048576
    }
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "detectIEVersion",
            value: function() {
                for (var e = 4,
                t = document.createElement("div"), r = t.getElementsByTagName("i"); t.innerHTML = "\x3c!--[if gt IE " + e + "]><i></i><![endif]--\x3e", r[0];) e++;
                return e > 4 && e
            }
        },
        {
            key: "extend",
            value: function(e, t) {
                for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && t[r] && (e[r] = t[r])
            }
        },
        {
            key: "isArray",
            value: function(e) {
                return "[object Array]" === Object.prototype.toString.call(arg)
            }
        },
        {
            key: "getFileType",
            value: function(e) {
                return e = e.toLowerCase(),
                /.mp4|.flv|.m3u8|.avi|.rm|.rmvb|.mpeg|.mpg|.mov|.wmv|.3gp|.asf|.dat|.dv|.f4v|.gif|.m2t|.m4v|.mj2|.mjpeg|.mpe|.mts|.ogg|.qt|.swf|.ts|.vob|.wmv|.webm/.test(e) ? "video": /.mp3|.wav|.ape|.cda|.au|.midi|.mac|.aac|.ac3|.acm|.amr|.caf|.flac|.m4a|.ra|.wma/.test(e) ? "audio": /.bmp|.jpg|.jpeg|.png/.test(e) ? "img": "other"
            }
        },
        {
            key: "isImage",
            value: function(e) {
                return e = e.toLowerCase(),
                !!/.jpg|.jpeg|.png/.test(e)
            }
        }]),
        e
    } ();
    t.
default = o
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "create",
            value: function(e, t) {
                var r, n = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),
                i = [];
                if (t = t || n.length, e) for (r = 0; r < e; r++) i[r] = n[0 | Math.random() * t];
                else {
                    var o;
                    for (i[8] = i[13] = i[18] = i[23] = "-", i[14] = "4", r = 0; r < 36; r++) i[r] || (o = 0 | 16 * Math.random(), i[r] = n[19 == r ? 3 & o | 8 : o])
                }
                return i.join("")
            }
        }]),
        e
    } ();
    t.
default = o
},
function(e, t, r) {
    e.exports = r(5)
},
function(e, t, r) {
    "use strict";
    var n, i, o = ("function" == typeof Symbol && Symbol.iterator, r(6)),
    a = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (o),
    s = {
        Vod: a.
    default
    };
    n = [],
    void 0 !== (i = function() {
        return s
    }.apply(t, n)) && (e.exports = i),
    window.AliyunUpload = s
},
function(e, t, r) {
    "use strict";
    function n(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    function i(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    a = r(7),
    s = r(1),
    u = r(8),
    c = n(u),
    f = r(10),
    l = n(f),
    h = r(16),
    d = n(h),
    p = r(17),
    g = n(p),
    y = r(2),
    v = n(y),
    _ = r(3),
    m = n(_),
    T = r(21),
    w = n(T),
    A = function() {
        function e(t) {
            i(this, e),
            this.options = t,
            this.options.partSize = this.options.partSize || s.UPLOADDEFAULT.PARTSIZE,
            this.options.parallel = this.options.parallel || s.UPLOADDEFAULT.PARALLEL,
            this._ossCreditor = new Object,
            this._state = a.VODSTATE.INIT,
            this._uploadList = [],
            this._curIndex = -1,
            this._ossUpload = null,
            this._log = new g.
        default,
            this._retryCount = 0,
            this._retryTotal = this.options.retryCount || 3,
            this._retryDuration = this.options.retryDuration || 2,
            this._state = a.VODSTATE.INIT,
            this._uploadWay = "vod",
            this._initEvent()
        }
        return o(e, [{
            key: "init",
            value: function(e, t, r, n) {
                return this._retryCount = 0,
                !(r && !n || !r && n) && (!(e && !t || !e && t) && (this._ossCreditor.accessKeyId = e, this._ossCreditor.accessKeySecret = t, this._ossCreditor.securityToken = r, this._ossCreditor.expireTime = n, !0))
            }
        },
        {
            key: "addFile",
            value: function(e, t, r, n, i) {
                if (!e) return ! 1;
                if (0 == e.size) try {
                    this.options.onUploadFailed({
                        file: e
                    },
                    "EmptyFile", "文件大小为0，不能上传")
                } catch(e) {
                    console.log(e)
                }
                for (var o = (this.options, 0); o < this._uploadList.length; o++) if (this._uploadList[o].file == e) return ! 1;
                var s = new Object;
                return s.file = e,
                s._endpoint = t,
                s._bucket = r,
                s._object = n,
                s.state = a.UPLOADSTATE.INIT,
                s.isImage = v.
            default.isImage(e.name),
                i && (s.videoInfo = i ? JSON.parse(i).Vod: {},
                s.userData = l.
            default.encode(i)),
                s.ri = m.
            default.create(),
                this._uploadList.push(s),
                this._reportLog("20001", s, {
                    ql: this._uploadList.length
                }),
                !0
            }
        },
        {
            key: "deleteFile",
            value: function(e) {
                return !! this.cancelFile(e) && (this._uploadList.splice(e, 1), !0)
            }
        },
        {
            key: "cleanList",
            value: function() {
                this.stopUpload(),
                this._uploadList.length = 0,
                this._curIndex = -1
            }
        },
        {
            key: "cancelFile",
            value: function(e) {
                this.options;
                if (e < 0 || e >= this._uploadList.length) return ! 1;
                var t = this._uploadList[e];
                if (e == this._curIndex && t.state == a.UPLOADSTATE.UPLOADING) {
                    t.state = a.UPLOADSTATE.CANCELED;
                    var r = this._getCheckoutpoint(t);
                    r && r.checkpoint && (r = r.checkpoint),
                    r && this._ossUpload.abort(t),
                    this._removeCheckoutpoint(t),
                    this.nextUpload()
                } else t.state != a.UPLOADSTATE.SUCCESS && (t.state = a.UPLOADSTATE.CANCELED);
                return this._reportLog("20008", t),
                !0
            }
        },
        {
            key: "resumeFile",
            value: function(e) {
                this.options;
                if (e < 0 || e >= this._uploadList.length) return ! 1;
                var t = this._uploadList[e];
                return t.state == a.UPLOADSTATE.CANCELED && (t.state = a.UPLOADSTATE.INIT, !0)
            }
        },
        {
            key: "listFiles",
            value: function() {
                return this._uploadList
            }
        },
        {
            key: "getCheckpoint",
            value: function(e) {
                return this._getCheckoutpoint({
                    file: e
                })
            }
        },
        {
            key: "startUpload",
            value: function(e) {
                this._retryCount = 0;
                this.options;
                if (this._state == a.VODSTATE.START || this._state == a.VODSTATE.EXPIRE) return void console.log("already started or expired");
                if (this._initState(), this._curIndex = this._findUploadIndex(), -1 == this._curIndex) return void(this._state = a.VODSTATE.END);
                var t = this._uploadList[this._curIndex];
                this._ossUpload = null,
                this._upload(t),
                this._state = a.VODSTATE.START
            }
        },
        {
            key: "nextUpload",
            value: function() {
                var e = this.options;
                if (this._state == a.VODSTATE.START) if (this._curIndex = this._findUploadIndex(), -1 != this._curIndex) {
                    var t = this._uploadList[this._curIndex];
                    this._ossUpload = null,
                    this._upload(t)
                } else {
                    this._state = a.VODSTATE.END;
                    try {
                        e.onUploadEnd && e.onUploadEnd(t)
                    } catch(e) {
                        console.log(e)
                    }
                }
            }
        },
        {
            key: "clear",
            value: function(e) {
                for (var t = this.options,
                r = 0,
                n = 0; n < this._uploadList.length; n++) t.uploadList[n].state == a.UPLOADSTATE.SUCCESS && r++,
                this._uploadList[n].state == e && (t.uploadList.splice(n, 1), n--);
                t.onClear && t.onClear(t.uploadList.length, r)
            }
        },
        {
            key: "stopUpload",
            value: function() {
                if ((this._state == a.VODSTATE.START || this._state == a.VODSTATE.FAILURE || -1 == this._curIndex) && -1 != this._curIndex) {
                    var e = this._uploadList[this._curIndex];
                    this._state = a.VODSTATE.STOP,
                    e.state = a.UPLOADSTATE.STOPED,
                    this._changeState(e, a.UPLOADSTATE.STOPED),
                    this._ossUpload.cancel()
                }
            }
        },
        {
            key: "resumeUploadWithAuth",
            value: function(e) {
                var t = this;
                if (!e) return ! 1;
                var r = JSON.parse(l.
            default.decode(e));
                return !! (r.AccessKeyId && r.AccessKeySecret && r.SecurityToken && r.Expiration) && t.resumeUploadWithToken(r.AccessKeyId, r.AccessKeySecret, r.SecurityToken, r.Expiration)
            }
        },
        {
            key: "resumeUploadWithToken",
            value: function(e, t, r, n) {
                this.options;
                if (! (e && t && r && n)) return ! 1;
                if (this._state != a.VODSTATE.EXPIRE) return ! 1;
                if ( - 1 == this._curIndex) return ! 1;
                var i = "";
                return this._uploadList.length > this._curIndex && (i = this._uploadList[this._curIndex]),
                i && (this.init(e, t, r, n), this._state = a.VODSTATE.START, this._ossUpload = null, this._uploadCore(i, i.retry), i.retry = !1),
                !0
            }
        },
        {
            key: "resumeUploadWithSTSToken",
            value: function(e, t, r) {
                if ( - 1 == this._curIndex) return ! 1;
                if (this._state != a.VODSTATE.EXPIRE) return ! 1;
                if (this._uploadList.length > this._curIndex) {
                    var n = this._uploadList[this._curIndex];
                    n.object ? this._refreshSTSTokenUpload(n, e, t, r) : this.setSTSToken(n, e, t, r)
                }
            }
        },
        {
            key: "setSTSTokenDirectlyUpload",
            value: function(e, t, r, n, i) {
                if (! (t && r && n && i)) return console.log("accessKeyId、ccessKeySecret、securityToken and expiration should not be empty."),
                !1;
                this._ut = "oss";
                var o = e;
                this.init(t, r, n, i),
                o.endpoint = o._endpoint,
                o.bucket = o._bucket,
                o.object = o._object,
                this._ossUpload = null,
                this._uploadCore(o, e.retry),
                e.retry = !1
            }
        },
        {
            key: "setSTSToken",
            value: function(e, t, r, n) {
                if (!t || !r || !n) return console.log("accessKeyId、ccessKeySecret、securityToken should not be empty."),
                !1;
                this._ut = "vod",
                this._uploadWay = "sts";
                var i = e.videoInfo,
                o = {
                    accessKeyId: t,
                    securityToken: n,
                    accessKeySecret: r,
                    fileName: e.file.name,
                    title: i.Title,
                    requestId: e.ri
                };
                i.ImageType && (o.imageType = i.ImageType),
                i.ImageExt && (o.imageExt = i.ImageExt),
                i.FileSize && (o.fileSize = i.FileSize),
                i.Description && (o.description = i.Description),
                i.CateId && (o.cateId = i.CateId),
                i.Tags && (o.tags = i.Tags),
                i.TemplateGroupId && (o.templateGroupId = i.TemplateGroupId),
                i.StorageLocation && (o.storageLocation = i.StorageLocation),
                i.CoverURL && (o.coverUrl = i.CoverURL),
                i.TransCodeMode && (o.transCodeMode = i.TransCodeMode),
                i.UserData && (o.userData = i.UserData);
                var s = this,
                u = "getUploadAuth";
                e.videoId ? (o.videoId = e.videoId, u = "refreshUploadAuth") : e.isImage && (u = "getImageUploadAuth"),
                w.
            default[u](o,
                function(t) {
                    e.videoId = t.VideoId ? t.VideoId: e.videoId,
                    s.setUploadAuthAndAddress(e, t.UploadAuth, t.UploadAddress),
                    s._state = a.VODSTATE.START
                },
                function(t) {
                    s._error(e, {
                        name: t.Code,
                        code: t.Code,
                        message: t.Message,
                        requestId: t.RequestId
                    })
                })
            }
        },
        {
            key: "setUploadAuthAndAddress",
            value: function(e, t, r, n) {
                if (!e || !t || !r) return ! 1;
                var i = JSON.parse(l.
            default.decode(t));
                if (! (i.AccessKeyId && i.AccessKeySecret && i.SecurityToken && i.Expiration)) return console.error("uploadauth is invalid"),
                !1;
                var o = {};
                if (r) {
                    if (o = JSON.parse(l.
                default.decode(r)), !o.Endpoint || !o.Bucket || !o.FileName) return console.error("uploadAddress is invalid"),
                    !1
                } else o.Endpoint = a.endpoint,
                o.Bucket = a.bucket,
                o.FileName = a.object;
                this._ut = "vod",
                this._uploadWay = "vod";
                var a = e;
                this.init(i.AccessKeyId, i.AccessKeySecret, i.SecurityToken, i.Expiration),
                a.endpoint = a._endpoint ? a._endpoint: o.Endpoint,
                a.bucket = a._bucket ? a._bucket: o.Bucket,
                a.object = a._object ? a._object: o.FileName,
                n && (a.videoId = n),
                this._ossUpload = null,
                this._uploadCore(a, e.retry),
                e.retry = !1
            }
        },
        {
            key: "_refreshSTSTokenUpload",
            value: function(e, t, r, n) {
                if (!t || !r || !n) return console.log("accessKeyId、ccessKeySecret、securityToken should not be empty."),
                !1;
                var i = {
                    accessKeyId: t,
                    securityToken: n,
                    accessKeySecret: r,
                    videoId: e.object,
                    requestId: e.ri
                },
                o = this,
                s = "refreshUploadAuth";
                e.isImage && (s = "getImageUploadAuth"),
                w.
            default[s](i,
                function(t) {
                    o.setUploadAuthAndAddress(e, t.UploadAuth, UploadAddress),
                    o._state = a.VODSTATE.START
                },
                function(t) {
                    o._error(e, {
                        name: t.Code,
                        code: t.Code,
                        message: t.Message,
                        requestId: t.RequestId
                    })
                })
            }
        },
        {
            key: "_upload",
            value: function(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
                r = this.options;
                if (e.retry = t, r.onUploadstarted && !t) try {
                    var n = this._getCheckoutpoint(e);
                    n && n.state != a.UPLOADSTATE.UPLOADING && (e.checkpoint = n, e.videoId = n.videoId),
                    r.onUploadstarted(e)
                } catch(e) {
                    console.log(e)
                }
            }
        },
        {
            key: "_uploadCore",
            value: function(e) {
                arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
                if (!this._ossCreditor.accessKeyId || !this._ossCreditor.accessKeySecret || !this._ossCreditor.securityToken) throw new Error("AccessKeyId、AccessKeySecret、securityToken should not be null");
                if (e.state = a.UPLOADSTATE.UPLOADING, !this._ossUpload) {
                    e.endpoint = e.endpoint || "http://oss-cn-hangzhou.aliyuncs.com";
                    var t = this;
                    this._ossUpload = new c.
                default({
                        bucket:
                        e.bucket,
                        endpoint: e.endpoint,
                        AccessKeyId: this._ossCreditor.accessKeyId,
                        AccessKeySecret: this._ossCreditor.accessKeySecret,
                        SecurityToken: this._ossCreditor.securityToken,
                        timeout: this.options.timeout
                    },
                    {
                        onerror: function(e, r) {
                            t._error.call(t, e, r)
                        },
                        oncomplete: function(e, r) {
                            t._complete.call(t, e, r)
                        },
                        onprogress: function(e, r, n) {
                            t._progress.call(t, e, r, n)
                        }
                    })
                }
                var r = v.
            default.getFileType(e.file.name),
                n = this._getCheckoutpoint(e),
                i = "",
                o = "";
                n && n.checkpoint && (o = n.state, i = n.videoId, n = n.checkpoint),
                n && i == e.videoId && o != a.UPLOADSTATE.UPLOADING && (n.file = e.file, e.checkpoint = n, n.uploadId);
                var s = this._adjustPartSize(e);
                this._reportLog("20002", e, {
                    ft: r,
                    fs: e.file.size,
                    bu: e.bucket,
                    ok: e.object,
                    vid: e.videoId || "",
                    fn: e.file.name,
                    fw: null,
                    fh: null,
                    ps: s
                });
                var u = {
                    headers: {
                        "x-oss-notification": e.userData ? e.userData: ""
                    },
                    partSize: s
                };
                this._ossUpload.upload(e, u)
            }
        },
        {
            key: "_findUploadIndex",
            value: function() {
                for (var e = -1,
                t = 0; t < this._uploadList.length; t++) if (this._uploadList[t].state == a.UPLOADSTATE.INIT) {
                    e = t;
                    break
                }
                return e
            }
        },
        {
            key: "_error",
            value: function(e, t) {
                if ("cancel" == t.name) try {
                    this.options.onUploadCanceled(e, t)
                } catch(e) {
                    console.log(e)
                } else {
                    if (t.message.indexOf("InvalidAccessKeyIdError") > 0 || "SignatureDoesNotMatchError" == t.name || "SecurityTokenExpired" == t.code || "InvalidSecurityToken.Expired" == t.code || "InvalidAccessKeyId" == t.code && this._ossCreditor.securityToken) {
                        if (this.options.onUploadTokenExpired) {
                            this._state = a.VODSTATE.EXPIRE,
                            e.state = a.UPLOADSTATE.FAIlURE;
                            try {
                                this.options.onUploadTokenExpired(e, t)
                            } catch(e) {
                                console.log(e)
                            }
                        }
                        return
                    }
                    if (("RequestTimeoutError" == t.name || "ConnectionTimeout" == t.name || "ConnectionTimeoutError" == t.name) && this._retryTotal > this._retryCount) {
                        var r = this;
                        return setTimeout(function() {
                            r._uploadCore(e, !0)
                        },
                        1e3 * r._retryDuration),
                        void this._retryCount++
                    }
                    "NoSuchUploadError" == t.name && this._removeCheckoutpoint(e),
                    this._handleError(e, t)
                }
            }
        },
        {
            key: "_handleError",
            value: function(e, t) {
                var r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2],
                n = a.UPLOADSTATE.FAIlURE;
                if (e.state != a.UPLOADSTATE.CANCELED && (e.state = a.UPLOADSTATE.FAIlURE, this._state = a.VODSTATE.FAILURE, this.options.onUploadFailed && t && t.code && t.message)) try {
                    this.options.onUploadFailed(e, t.code, t.message)
                } catch(e) {
                    console.log(e)
                }
                if (r && this._changeState(e, n), this._reportLog("20006", e, {
                    code: t.name,
                    message: t.message,
                    requestId: t.requestId,
                    fs: e.file.size,
                    bu: e.bucket,
                    ok: e.object,
                    fn: e.file.name
                }), this._reportLog("20004", e, {
                    requestId: t.requestId,
                    fs: e.file.size,
                    bu: e.bucket,
                    ok: e.object,
                    fn: e.file.name
                }), e.ri = m.
            default.create(), -1 != this._findUploadIndex()) {
                    var i = this;
                    this._state = a.VODSTATE.START,
                    setTimeout(function() {
                        i.nextUpload()
                    },
                    100)
                }
            }
        },
        {
            key: "_complete",
            value: function(e, t) {
                if (e.state = a.UPLOADSTATE.SUCCESS, this.options.onUploadSucceed) try {
                    this.options.onUploadSucceed(e)
                } catch(e) {
                    console.log(e)
                }
                var r = 0;
                t && t.res && t.res.headers && (r = t.res.headers["x-oss-request-id"]),
                this._removeCheckoutpoint(e);
                var n = this;
                setTimeout(function() {
                    n.nextUpload()
                },
                100),
                this._retryCount = 0,
                this._reportLog("20003", e, {
                    requestId: r
                })
            }
        },
        {
            key: "_progress",
            value: function(e, t, r) {
                if (this.options.onUploadProgress) try {
                    e.loaded = t.loaded,
                    this.options.onUploadProgress(e, t.total, t.loaded)
                } catch(e) {
                    console.log(e)
                }
                var n = t.checkpoint,
                i = 0;
                n && (e.checkpoint = n, this._saveCheckoutpoint(e, n, a.UPLOADSTATE.UPLOADING), i = n.uploadId),
                this._retryCount = 0;
                var o = this._getPortNumber(n),
                s = 0;
                r && r.headers && (s = r.headers["x-oss-request-id"]),
                0 != t.loaded && this._reportLog("20007", e, {
                    pn: o,
                    requestId: s
                }),
                1 != t.loaded && this._reportLog("20005", e, {
                    UploadId: i,
                    pn: o + 1,
                    pr: e.retry ? 1 : 0,
                    fs: e.file.size,
                    bu: e.bucket,
                    ok: e.object,
                    fn: e.file.name
                })
            }
        },
        {
            key: "_getPortNumber",
            value: function(e) {
                if (e) {
                    var t = e.doneParts;
                    if (t && t.length > 0) return t[t.length - 1].number
                }
                return 0
            }
        },
        {
            key: "_removeCheckoutpoint",
            value: function(e) {
                var t = this._getCheckoutpointKey(e);
                d.
            default.remove(t)
            }
        },
        {
            key: "_getCheckoutpoint",
            value: function(e) {
                var t = this._getCheckoutpointKey(e),
                r = d.
            default.get(t);
                if (r) try {
                    return JSON.parse(r)
                } catch(e) {}
                return ""
            }
        },
        {
            key: "_saveCheckoutpoint",
            value: function(e, t, r) {
                if (t) {
                    var n = this._getCheckoutpointKey(e),
                    i = e.file,
                    o = {
                        fileName: i.name,
                        lastModified: i.lastModified,
                        size: i.size,
                        object: e.object,
                        videoId: e.videoId,
                        bucket: e.bucket,
                        endpoint: e.endpoint,
                        checkpoint: t,
                        loaded: e.loaded,
                        state: r
                    };
                    d.
                default.set(n, JSON.stringify(o))
                }
            }
        },
        {
            key: "_changeState",
            value: function(e, t) {
                var r = this._getCheckoutpoint(e);
                r && this._saveCheckoutpoint(e, r.checkpoint, t)
            }
        },
        {
            key: "_getCheckoutpointKey",
            value: function(e) {
                return "upload_" + e.file.lastModified + "_" + e.file.name + "_" + e.file.size
            }
        },
        {
            key: "_reportLog",
            value: function(e, t, r) {
                r || (r = {}),
                r.ri = t.ri,
                this._ut && (r.ut = this._ut),
                this._log.log(e, r)
            }
        },
        {
            key: "_initEvent",
            value: function() {
                var e = this;
                window && (window.onbeforeunload = function(t) {
                    if ( - 1 != e._curIndex && e._uploadList.length > e._curIndex) {
                        var r = e._uploadList[e._curIndex];
                        e._changeState(r, a.UPLOADSTATE.STOPED)
                    }
                })
            }
        },
        {
            key: "_initState",
            value: function() {
                for (var e = 0; e < this._uploadList.length; e++) {
                    var t = this._uploadList[e];
                    t.state != a.UPLOADSTATE.FAIlURE && t.state != a.UPLOADSTATE.STOPED || (t.state = a.UPLOADSTATE.INIT)
                }
                this._state = a.VODSTATE.INIT
            }
        },
        {
            key: "_adjustPartSize",
            value: function(e) {
                return e.file.size / this.options.partSize > 1e4 ? e.file.size / 9999 : this.options.partSize
            }
        }]),
        e
    } ();
    t.
default = A
},
function(e, t, r) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    t.UPLOADSTATE = {
        INIT: "Ready",
        UPLOADING: "Uploading",
        SUCCESS: "Success",
        FAIlURE: "Failure",
        CANCELED: "Canceled",
        STOPED: "Stoped"
    },
    t.VODSTATE = {
        INIT: "Init",
        START: "Start",
        STOP: "Stop",
        FAILURE: "Failure",
        EXPIRE: "Expire",
        END: "End"
    }
},
function(e, t, r) {
    "use strict";
    function n(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    function i(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    a = r(1),
    s = r(9),
    u = (n(s), r(2)),
    c = (n(u),
    function() {
        function e(t, r) {
            if (i(this, e), t) {
                this._config = t,
                this.create(this._config),
                this._uploadInfo = null,
                this._callback = {};
                var n = function() {};
                this._callback.onerror = r.onerror || n,
                this._callback.oncomplete = r.oncomplete || n,
                this._callback.onprogress = r.onprogress || n
            }
        }
        return o(e, [{
            key: "create",
            value: function(e) {
                if (e.endpoint = e.endpoint || this._config.endpoint, e.bucket = e.bucket || this._config.bucket, !(e.AccessKeyId && e.AccessKeySecret && e.endpoint && e.SecurityToken)) throw new Error("AccessKeyId、AccessKeySecret、endpoint should not be null");
                var t = {
                    accessKeyId: e.AccessKeyId,
                    accessKeySecret: e.AccessKeySecret,
                    stsToken: e.SecurityToken,
                    endpoint: e.endpoint || this._config.endpoint,
                    bucket: e.bucket || this._config.bucket,
                    secure: !0
                };
                e.timeout && (t.timeout = e.timeout),
                this.oss = new OSS.Wrapper(t)
            }
        },
        {
            key: "abort",
            value: function(e) {
                if (e.checkpoint) {
                    var t = e.checkpoint.uploadId;
                    this.oss.abortMultipartUpload(e.object, t)
                }
            }
        },
        {
            key: "getVersion",
            value: function() {}
        },
        {
            key: "cancel",
            value: function() {
                this.oss.cancel && this.oss.cancel()
            }
        },
        {
            key: "upload",
            value: function(e, t) {
                this._uploadInfo = e;
                var r = this,
                n = function(e, t, n) {
                    return function(i) {
                        r._progress(e, t, n),
                        i()
                    }
                },
                i = {
                    parallel: t.parallel || this._config.parallel || a.UPLOADDEFAULT.PARALLEL,
                    partSize: t.partSize || this._config.partSize || a.UPLOADDEFAULT.PARTSIZE,
                    progress: n
                };
                t.headers && (i.headers = t.headers),
                e.checkpoint && (i.checkpoint = e.checkpoint),
                e.bucket || (this.oss.options.bucket = e.bucket),
                e.endpoint || (this.oss.options.endpoint = e.endpoint),
                this.oss.multipartUpload(e.object, e.file, i).then(function(e, t) {
                    r._complete(e)
                }).
                catch(function(e) {
                    r.oss.cancel && (r.oss && r.oss.isCancel() ? console.log("oss is cancel as error") : r.oss.cancel()),
                    r._error(e)
                })
            }
        },
        {
            key: "header",
            value: function(e, t, r) {
                this.oss.get(e.object).then(function(e) {
                    t(e)
                }).
                catch(function(e) {
                    r(e)
                })
            }
        },
        {
            key: "_progress",
            value: function(e, t, r) {
                this._callback.onprogress(this._uploadInfo, {
                    loaded: e,
                    total: this._uploadInfo.file.size,
                    checkpoint: t
                },
                r)
            }
        },
        {
            key: "_error",
            value: function(e) {
                this._callback.onerror(this._uploadInfo, e)
            }
        },
        {
            key: "_complete",
            value: function(e) {
                this._callback.oncomplete(this._uploadInfo, e)
            }
        }]),
        e
    } ());
    t.
default = c
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "format",
            value: function(e) {
                if (arguments.length < 2) return null;
                for (var t = arguments[1], r = 1; r < arguments.length; r++) {
                    var n = new RegExp("\\{" + (r - 1) + "\\}", "gm");
                    t = t.replace(n, arguments[r + 1])
                }
                return {
                    code: e,
                    message: t
                }
            }
        },
        {
            key: "CODE",
            get: function() {
                return {
                    SUCCESS: "Successful",
                    EmptyValue: "InvalidParameter.EmptyValue",
                    STSInvalid: "InvalidParameter.TokenInvalid",
                    ReadFileError: "ReadFileError",
                    FILEDUPLICATION: "FileDuplication",
                    UploadALEADRYSTARTED: "UploadAlearyStarted"
                }
            }
        },
        {
            key: "MESSAGE",
            get: function() {
                return {
                    SUCCESS: "Successful",
                    EmptyValue: "参数 {0} 不能为空。",
                    STSInvalid: "STS参数非法， accessKeyId、accessKeySecret、secretToken、expireTime都不能为空。",
                    ReadFileError: "读取文件{0}{1}失败.",
                    FILEDUPLICATION: "文件重复添加 {0}",
                    UploadALEADRYSTARTED: "重复开始."
                }
            }
        }]),
        e
    } ();
    t.
default = o
},
function(e, t, r) {
    "use strict"; (function(e) {
        function r(e, t) {
            if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }
        Object.defineProperty(t, "__esModule", {
            value: !0
        });
        var n = function() {
            function e(e, t) {
                for (var r = 0; r < t.length; r++) {
                    var n = t[r];
                    n.enumerable = n.enumerable || !1,
                    n.configurable = !0,
                    "value" in n && (n.writable = !0),
                    Object.defineProperty(e, n.key, n)
                }
            }
            return function(t, r, n) {
                return r && e(t.prototype, r),
                n && e(t, n),
                t
            }
        } (),
        i = function() {
            function t() {
                r(this, t)
            }
            return n(t, null, [{
                key: "encode",
                value: function(t) {
                    return new e(t).toString("base64")
                }
            },
            {
                key: "decode",
                value: function(t) {
                    return new e(t, "base64").toString()
                }
            }]),
            t
        } ();
        t.
    default = i
    }).call(t, r(11).Buffer)
},
function(e, t, r) {
    "use strict"; (function(e) {
        function n() {
            return o.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823
        }
        function i(e, t) {
            if (n() < t) throw new RangeError("Invalid typed array length");
            return o.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t), e.__proto__ = o.prototype) : (null === e && (e = new o(t)), e.length = t),
            e
        }
        function o(e, t, r) {
            if (! (o.TYPED_ARRAY_SUPPORT || this instanceof o)) return new o(e, t, r);
            if ("number" == typeof e) {
                if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string");
                return c(this, e)
            }
            return a(this, e, t, r)
        }
        function a(e, t, r, n) {
            if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');
            return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? h(e, t, r, n) : "string" == typeof t ? f(e, t, r) : d(e, t)
        }
        function s(e) {
            if ("number" != typeof e) throw new TypeError('"size" argument must be a number');
            if (e < 0) throw new RangeError('"size" argument must not be negative')
        }
        function u(e, t, r, n) {
            return s(t),
            t <= 0 ? i(e, t) : void 0 !== r ? "string" == typeof n ? i(e, t).fill(r, n) : i(e, t).fill(r) : i(e, t)
        }
        function c(e, t) {
            if (s(t), e = i(e, t < 0 ? 0 : 0 | p(t)), !o.TYPED_ARRAY_SUPPORT) for (var r = 0; r < t; ++r) e[r] = 0;
            return e
        }
        function f(e, t, r) {
            if ("string" == typeof r && "" !== r || (r = "utf8"), !o.isEncoding(r)) throw new TypeError('"encoding" must be a valid string encoding');
            var n = 0 | y(t, r);
            e = i(e, n);
            var a = e.write(t, r);
            return a !== n && (e = e.slice(0, a)),
            e
        }
        function l(e, t) {
            var r = t.length < 0 ? 0 : 0 | p(t.length);
            e = i(e, r);
            for (var n = 0; n < r; n += 1) e[n] = 255 & t[n];
            return e
        }
        function h(e, t, r, n) {
            if (t.byteLength, r < 0 || t.byteLength < r) throw new RangeError("'offset' is out of bounds");
            if (t.byteLength < r + (n || 0)) throw new RangeError("'length' is out of bounds");
            return t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n),
            o.TYPED_ARRAY_SUPPORT ? (e = t, e.__proto__ = o.prototype) : e = l(e, t),
            e
        }
        function d(e, t) {
            if (o.isBuffer(t)) {
                var r = 0 | p(t.length);
                return e = i(e, r),
                0 === e.length ? e: (t.copy(e, 0, 0, r), e)
            }
            if (t) {
                if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || G(t.length) ? i(e, 0) : l(e, t);
                if ("Buffer" === t.type && Q(t.data)) return l(e, t.data)
            }
            throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")
        }
        function p(e) {
            if (e >= n()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + n().toString(16) + " bytes");
            return 0 | e
        }
        function g(e) {
            return + e != e && (e = 0),
            o.alloc( + e)
        }
        function y(e, t) {
            if (o.isBuffer(e)) return e.length;
            if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;
            "string" != typeof e && (e = "" + e);
            var r = e.length;
            if (0 === r) return 0;
            for (var n = !1;;) switch (t) {
            case "ascii":
            case "latin1":
            case "binary":
                return r;
            case "utf8":
            case "utf-8":
            case void 0:
                return V(e).length;
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
                return 2 * r;
            case "hex":
                return r >>> 1;
            case "base64":
                return q(e).length;
            default:
                if (n) return V(e).length;
                t = ("" + t).toLowerCase(),
                n = !0
            }
        }
        function v(e, t, r) {
            var n = !1;
            if ((void 0 === t || t < 0) && (t = 0), t > this.length) return "";
            if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return "";
            if (r >>>= 0, t >>>= 0, r <= t) return "";
            for (e || (e = "utf8");;) switch (e) {
            case "hex":
                return L(this, t, r);
            case "utf8":
            case "utf-8":
                return U(this, t, r);
            case "ascii":
                return O(this, t, r);
            case "latin1":
            case "binary":
                return C(this, t, r);
            case "base64":
                return k(this, t, r);
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
                return R(this, t, r);
            default:
                if (n) throw new TypeError("Unknown encoding: " + e);
                e = (e + "").toLowerCase(),
                n = !0
            }
        }
        function _(e, t, r) {
            var n = e[t];
            e[t] = e[r],
            e[r] = n
        }
        function m(e, t, r, n, i) {
            if (0 === e.length) return - 1;
            if ("string" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), r = +r, isNaN(r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) {
                if (i) return - 1;
                r = e.length - 1
            } else if (r < 0) {
                if (!i) return - 1;
                r = 0
            }
            if ("string" == typeof t && (t = o.from(t, n)), o.isBuffer(t)) return 0 === t.length ? -1 : T(e, t, r, n, i);
            if ("number" == typeof t) return t &= 255,
            o.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r) : T(e, [t], r, n, i);
            throw new TypeError("val must be string, number or Buffer")
        }
        function T(e, t, r, n, i) {
            function o(e, t) {
                return 1 === a ? e[t] : e.readUInt16BE(t * a)
            }
            var a = 1,
            s = e.length,
            u = t.length;
            if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) {
                if (e.length < 2 || t.length < 2) return - 1;
                a = 2,
                s /= 2,
                u /= 2,
                r /= 2
            }
            var c;
            if (i) {
                var f = -1;
                for (c = r; c < s; c++) if (o(e, c) === o(t, -1 === f ? 0 : c - f)) {
                    if ( - 1 === f && (f = c), c - f + 1 === u) return f * a
                } else - 1 !== f && (c -= c - f),
                f = -1
            } else for (r + u > s && (r = s - u), c = r; c >= 0; c--) {
                for (var l = !0,
                h = 0; h < u; h++) if (o(e, c + h) !== o(t, h)) {
                    l = !1;
                    break
                }
                if (l) return c
            }
            return - 1
        }
        function w(e, t, r, n) {
            r = Number(r) || 0;
            var i = e.length - r;
            n ? (n = Number(n)) > i && (n = i) : n = i;
            var o = t.length;
            if (o % 2 != 0) throw new TypeError("Invalid hex string");
            n > o / 2 && (n = o / 2);
            for (var a = 0; a < n; ++a) {
                var s = parseInt(t.substr(2 * a, 2), 16);
                if (isNaN(s)) return a;
                e[r + a] = s
            }
            return a
        }
        function A(e, t, r, n) {
            return X(V(t, e.length - r), e, r, n)
        }
        function S(e, t, r, n) {
            return X(W(t), e, r, n)
        }
        function b(e, t, r, n) {
            return S(e, t, r, n)
        }
        function E(e, t, r, n) {
            return X(q(t), e, r, n)
        }
        function I(e, t, r, n) {
            return X(H(t, e.length - r), e, r, n)
        }
        function k(e, t, r) {
            return 0 === t && r === e.length ? J.fromByteArray(e) : J.fromByteArray(e.slice(t, r))
        }
        function U(e, t, r) {
            r = Math.min(e.length, r);
            for (var n = [], i = t; i < r;) {
                var o = e[i],
                a = null,
                s = o > 239 ? 4 : o > 223 ? 3 : o > 191 ? 2 : 1;
                if (i + s <= r) {
                    var u, c, f, l;
                    switch (s) {
                    case 1:
                        o < 128 && (a = o);
                        break;
                    case 2:
                        u = e[i + 1],
                        128 == (192 & u) && (l = (31 & o) << 6 | 63 & u) > 127 && (a = l);
                        break;
                    case 3:
                        u = e[i + 1],
                        c = e[i + 2],
                        128 == (192 & u) && 128 == (192 & c) && (l = (15 & o) << 12 | (63 & u) << 6 | 63 & c) > 2047 && (l < 55296 || l > 57343) && (a = l);
                        break;
                    case 4:
                        u = e[i + 1],
                        c = e[i + 2],
                        f = e[i + 3],
                        128 == (192 & u) && 128 == (192 & c) && 128 == (192 & f) && (l = (15 & o) << 18 | (63 & u) << 12 | (63 & c) << 6 | 63 & f) > 65535 && l < 1114112 && (a = l)
                    }
                }
                null === a ? (a = 65533, s = 1) : a > 65535 && (a -= 65536, n.push(a >>> 10 & 1023 | 55296), a = 56320 | 1023 & a),
                n.push(a),
                i += s
            }
            return P(n)
        }
        function P(e) {
            var t = e.length;
            if (t <= $) return String.fromCharCode.apply(String, e);
            for (var r = "",
            n = 0; n < t;) r += String.fromCharCode.apply(String, e.slice(n, n += $));
            return r
        }
        function O(e, t, r) {
            var n = "";
            r = Math.min(e.length, r);
            for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]);
            return n
        }
        function C(e, t, r) {
            var n = "";
            r = Math.min(e.length, r);
            for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]);
            return n
        }
        function L(e, t, r) {
            var n = e.length; (!t || t < 0) && (t = 0),
            (!r || r < 0 || r > n) && (r = n);
            for (var i = "",
            o = t; o < r; ++o) i += Y(e[o]);
            return i
        }
        function R(e, t, r) {
            for (var n = e.slice(t, r), i = "", o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]);
            return i
        }
        function x(e, t, r) {
            if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint");
            if (e + t > r) throw new RangeError("Trying to access beyond buffer length")
        }
        function D(e, t, r, n, i, a) {
            if (!o.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
            if (t > i || t < a) throw new RangeError('"value" argument is out of bounds');
            if (r + n > e.length) throw new RangeError("Index out of range")
        }
        function M(e, t, r, n) {
            t < 0 && (t = 65535 + t + 1);
            for (var i = 0,
            o = Math.min(e.length - r, 2); i < o; ++i) e[r + i] = (t & 255 << 8 * (n ? i: 1 - i)) >>> 8 * (n ? i: 1 - i)
        }
        function B(e, t, r, n) {
            t < 0 && (t = 4294967295 + t + 1);
            for (var i = 0,
            o = Math.min(e.length - r, 4); i < o; ++i) e[r + i] = t >>> 8 * (n ? i: 3 - i) & 255
        }
        function N(e, t, r, n, i, o) {
            if (r + n > e.length) throw new RangeError("Index out of range");
            if (r < 0) throw new RangeError("Index out of range")
        }
        function j(e, t, r, n, i) {
            return i || N(e, t, r, 4, 3.4028234663852886e38, -3.4028234663852886e38),
            Z.write(e, t, r, n, 23, 4),
            r + 4
        }
        function F(e, t, r, n, i) {
            return i || N(e, t, r, 8, 1.7976931348623157e308, -1.7976931348623157e308),
            Z.write(e, t, r, n, 52, 8),
            r + 8
        }
        function K(e) {
            if (e = z(e).replace(ee, ""), e.length < 2) return "";
            for (; e.length % 4 != 0;) e += "=";
            return e
        }
        function z(e) {
            return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "")
        }
        function Y(e) {
            return e < 16 ? "0" + e.toString(16) : e.toString(16)
        }
        function V(e, t) {
            t = t || 1 / 0;
            for (var r, n = e.length,
            i = null,
            o = [], a = 0; a < n; ++a) {
                if ((r = e.charCodeAt(a)) > 55295 && r < 57344) {
                    if (!i) {
                        if (r > 56319) { (t -= 3) > -1 && o.push(239, 191, 189);
                            continue
                        }
                        if (a + 1 === n) { (t -= 3) > -1 && o.push(239, 191, 189);
                            continue
                        }
                        i = r;
                        continue
                    }
                    if (r < 56320) { (t -= 3) > -1 && o.push(239, 191, 189),
                        i = r;
                        continue
                    }
                    r = 65536 + (i - 55296 << 10 | r - 56320)
                } else i && (t -= 3) > -1 && o.push(239, 191, 189);
                if (i = null, r < 128) {
                    if ((t -= 1) < 0) break;
                    o.push(r)
                } else if (r < 2048) {
                    if ((t -= 2) < 0) break;
                    o.push(r >> 6 | 192, 63 & r | 128)
                } else if (r < 65536) {
                    if ((t -= 3) < 0) break;
                    o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128)
                } else {
                    if (! (r < 1114112)) throw new Error("Invalid code point");
                    if ((t -= 4) < 0) break;
                    o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128)
                }
            }
            return o
        }
        function W(e) {
            for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));
            return t
        }
        function H(e, t) {
            for (var r, n, i, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) r = e.charCodeAt(a),
            n = r >> 8,
            i = r % 256,
            o.push(i),
            o.push(n);
            return o
        }
        function q(e) {
            return J.toByteArray(K(e))
        }
        function X(e, t, r, n) {
            for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i];
            return i
        }
        function G(e) {
            return e !== e
        }
        /*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
 * @license  MIT
 */
        var J = r(13),
        Z = r(14),
        Q = r(15);
        t.Buffer = o,
        t.SlowBuffer = g,
        t.INSPECT_MAX_BYTES = 50,
        o.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT: function() {
            try {
                var e = new Uint8Array(1);
                return e.__proto__ = {
                    __proto__: Uint8Array.prototype,
                    foo: function() {
                        return 42
                    }
                },
                42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
            } catch(e) {
                return ! 1
            }
        } (),
        t.kMaxLength = n(),
        o.poolSize = 8192,
        o._augment = function(e) {
            return e.__proto__ = o.prototype,
            e
        },
        o.from = function(e, t, r) {
            return a(null, e, t, r)
        },
        o.TYPED_ARRAY_SUPPORT && (o.prototype.__proto__ = Uint8Array.prototype, o.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && o[Symbol.species] === o && Object.defineProperty(o, Symbol.species, {
            value: null,
            configurable: !0
        })),
        o.alloc = function(e, t, r) {
            return u(null, e, t, r)
        },
        o.allocUnsafe = function(e) {
            return c(null, e)
        },
        o.allocUnsafeSlow = function(e) {
            return c(null, e)
        },
        o.isBuffer = function(e) {
            return ! (null == e || !e._isBuffer)
        },
        o.compare = function(e, t) {
            if (!o.isBuffer(e) || !o.isBuffer(t)) throw new TypeError("Arguments must be Buffers");
            if (e === t) return 0;
            for (var r = e.length,
            n = t.length,
            i = 0,
            a = Math.min(r, n); i < a; ++i) if (e[i] !== t[i]) {
                r = e[i],
                n = t[i];
                break
            }
            return r < n ? -1 : n < r ? 1 : 0
        },
        o.isEncoding = function(e) {
            switch (String(e).toLowerCase()) {
            case "hex":
            case "utf8":
            case "utf-8":
            case "ascii":
            case "latin1":
            case "binary":
            case "base64":
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
                return ! 0;
            default:
                return ! 1
            }
        },
        o.concat = function(e, t) {
            if (!Q(e)) throw new TypeError('"list" argument must be an Array of Buffers');
            if (0 === e.length) return o.alloc(0);
            var r;
            if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;
            var n = o.allocUnsafe(t),
            i = 0;
            for (r = 0; r < e.length; ++r) {
                var a = e[r];
                if (!o.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers');
                a.copy(n, i),
                i += a.length
            }
            return n
        },
        o.byteLength = y,
        o.prototype._isBuffer = !0,
        o.prototype.swap16 = function() {
            var e = this.length;
            if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");
            for (var t = 0; t < e; t += 2) _(this, t, t + 1);
            return this
        },
        o.prototype.swap32 = function() {
            var e = this.length;
            if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");
            for (var t = 0; t < e; t += 4) _(this, t, t + 3),
            _(this, t + 1, t + 2);
            return this
        },
        o.prototype.swap64 = function() {
            var e = this.length;
            if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");
            for (var t = 0; t < e; t += 8) _(this, t, t + 7),
            _(this, t + 1, t + 6),
            _(this, t + 2, t + 5),
            _(this, t + 3, t + 4);
            return this
        },
        o.prototype.toString = function() {
            var e = 0 | this.length;
            return 0 === e ? "": 0 === arguments.length ? U(this, 0, e) : v.apply(this, arguments)
        },
        o.prototype.equals = function(e) {
            if (!o.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
            return this === e || 0 === o.compare(this, e)
        },
        o.prototype.inspect = function() {
            var e = "",
            r = t.INSPECT_MAX_BYTES;
            return this.length > 0 && (e = this.toString("hex", 0, r).match(/.{2}/g).join(" "), this.length > r && (e += " ... ")),
            "<Buffer " + e + ">"
        },
        o.prototype.compare = function(e, t, r, n, i) {
            if (!o.isBuffer(e)) throw new TypeError("Argument must be a Buffer");
            if (void 0 === t && (t = 0), void 0 === r && (r = e ? e.length: 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length) throw new RangeError("out of range index");
            if (n >= i && t >= r) return 0;
            if (n >= i) return - 1;
            if (t >= r) return 1;
            if (t >>>= 0, r >>>= 0, n >>>= 0, i >>>= 0, this === e) return 0;
            for (var a = i - n,
            s = r - t,
            u = Math.min(a, s), c = this.slice(n, i), f = e.slice(t, r), l = 0; l < u; ++l) if (c[l] !== f[l]) {
                a = c[l],
                s = f[l];
                break
            }
            return a < s ? -1 : s < a ? 1 : 0
        },
        o.prototype.includes = function(e, t, r) {
            return - 1 !== this.indexOf(e, t, r)
        },
        o.prototype.indexOf = function(e, t, r) {
            return m(this, e, t, r, !0)
        },
        o.prototype.lastIndexOf = function(e, t, r) {
            return m(this, e, t, r, !1)
        },
        o.prototype.write = function(e, t, r, n) {
            if (void 0 === t) n = "utf8",
            r = this.length,
            t = 0;
            else if (void 0 === r && "string" == typeof t) n = t,
            r = this.length,
            t = 0;
            else {
                if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");
                t |= 0,
                isFinite(r) ? (r |= 0, void 0 === n && (n = "utf8")) : (n = r, r = void 0)
            }
            var i = this.length - t;
            if ((void 0 === r || r > i) && (r = i), e.length > 0 && (r < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds");
            n || (n = "utf8");
            for (var o = !1;;) switch (n) {
            case "hex":
                return w(this, e, t, r);
            case "utf8":
            case "utf-8":
                return A(this, e, t, r);
            case "ascii":
                return S(this, e, t, r);
            case "latin1":
            case "binary":
                return b(this, e, t, r);
            case "base64":
                return E(this, e, t, r);
            case "ucs2":
            case "ucs-2":
            case "utf16le":
            case "utf-16le":
                return I(this, e, t, r);
            default:
                if (o) throw new TypeError("Unknown encoding: " + n);
                n = ("" + n).toLowerCase(),
                o = !0
            }
        },
        o.prototype.toJSON = function() {
            return {
                type: "Buffer",
                data: Array.prototype.slice.call(this._arr || this, 0)
            }
        };
        var $ = 4096;
        o.prototype.slice = function(e, t) {
            var r = this.length;
            e = ~~e,
            t = void 0 === t ? r: ~~t,
            e < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r),
            t < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r),
            t < e && (t = e);
            var n;
            if (o.TYPED_ARRAY_SUPPORT) n = this.subarray(e, t),
            n.__proto__ = o.prototype;
            else {
                var i = t - e;
                n = new o(i, void 0);
                for (var a = 0; a < i; ++a) n[a] = this[a + e]
            }
            return n
        },
        o.prototype.readUIntLE = function(e, t, r) {
            e |= 0,
            t |= 0,
            r || x(e, t, this.length);
            for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) n += this[e + o] * i;
            return n
        },
        o.prototype.readUIntBE = function(e, t, r) {
            e |= 0,
            t |= 0,
            r || x(e, t, this.length);
            for (var n = this[e + --t], i = 1; t > 0 && (i *= 256);) n += this[e + --t] * i;
            return n
        },
        o.prototype.readUInt8 = function(e, t) {
            return t || x(e, 1, this.length),
            this[e]
        },
        o.prototype.readUInt16LE = function(e, t) {
            return t || x(e, 2, this.length),
            this[e] | this[e + 1] << 8
        },
        o.prototype.readUInt16BE = function(e, t) {
            return t || x(e, 2, this.length),
            this[e] << 8 | this[e + 1]
        },
        o.prototype.readUInt32LE = function(e, t) {
            return t || x(e, 4, this.length),
            (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3]
        },
        o.prototype.readUInt32BE = function(e, t) {
            return t || x(e, 4, this.length),
            16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3])
        },
        o.prototype.readIntLE = function(e, t, r) {
            e |= 0,
            t |= 0,
            r || x(e, t, this.length);
            for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) n += this[e + o] * i;
            return i *= 128,
            n >= i && (n -= Math.pow(2, 8 * t)),
            n
        },
        o.prototype.readIntBE = function(e, t, r) {
            e |= 0,
            t |= 0,
            r || x(e, t, this.length);
            for (var n = t,
            i = 1,
            o = this[e + --n]; n > 0 && (i *= 256);) o += this[e + --n] * i;
            return i *= 128,
            o >= i && (o -= Math.pow(2, 8 * t)),
            o
        },
        o.prototype.readInt8 = function(e, t) {
            return t || x(e, 1, this.length),
            128 & this[e] ? -1 * (255 - this[e] + 1) : this[e]
        },
        o.prototype.readInt16LE = function(e, t) {
            t || x(e, 2, this.length);
            var r = this[e] | this[e + 1] << 8;
            return 32768 & r ? 4294901760 | r: r
        },
        o.prototype.readInt16BE = function(e, t) {
            t || x(e, 2, this.length);
            var r = this[e + 1] | this[e] << 8;
            return 32768 & r ? 4294901760 | r: r
        },
        o.prototype.readInt32LE = function(e, t) {
            return t || x(e, 4, this.length),
            this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24
        },
        o.prototype.readInt32BE = function(e, t) {
            return t || x(e, 4, this.length),
            this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]
        },
        o.prototype.readFloatLE = function(e, t) {
            return t || x(e, 4, this.length),
            Z.read(this, e, !0, 23, 4)
        },
        o.prototype.readFloatBE = function(e, t) {
            return t || x(e, 4, this.length),
            Z.read(this, e, !1, 23, 4)
        },
        o.prototype.readDoubleLE = function(e, t) {
            return t || x(e, 8, this.length),
            Z.read(this, e, !0, 52, 8)
        },
        o.prototype.readDoubleBE = function(e, t) {
            return t || x(e, 8, this.length),
            Z.read(this, e, !1, 52, 8)
        },
        o.prototype.writeUIntLE = function(e, t, r, n) {
            if (e = +e, t |= 0, r |= 0, !n) {
                D(this, e, t, r, Math.pow(2, 8 * r) - 1, 0)
            }
            var i = 1,
            o = 0;
            for (this[t] = 255 & e; ++o < r && (i *= 256);) this[t + o] = e / i & 255;
            return t + r
        },
        o.prototype.writeUIntBE = function(e, t, r, n) {
            if (e = +e, t |= 0, r |= 0, !n) {
                D(this, e, t, r, Math.pow(2, 8 * r) - 1, 0)
            }
            var i = r - 1,
            o = 1;
            for (this[t + i] = 255 & e; --i >= 0 && (o *= 256);) this[t + i] = e / o & 255;
            return t + r
        },
        o.prototype.writeUInt8 = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 1, 255, 0),
            o.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
            this[t] = 255 & e,
            t + 1
        },
        o.prototype.writeUInt16LE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 2, 65535, 0),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : M(this, e, t, !0),
            t + 2
        },
        o.prototype.writeUInt16BE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 2, 65535, 0),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : M(this, e, t, !1),
            t + 2
        },
        o.prototype.writeUInt32LE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 4, 4294967295, 0),
            o.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : B(this, e, t, !0),
            t + 4
        },
        o.prototype.writeUInt32BE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 4, 4294967295, 0),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : B(this, e, t, !1),
            t + 4
        },
        o.prototype.writeIntLE = function(e, t, r, n) {
            if (e = +e, t |= 0, !n) {
                var i = Math.pow(2, 8 * r - 1);
                D(this, e, t, r, i - 1, -i)
            }
            var o = 0,
            a = 1,
            s = 0;
            for (this[t] = 255 & e; ++o < r && (a *= 256);) e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1),
            this[t + o] = (e / a >> 0) - s & 255;
            return t + r
        },
        o.prototype.writeIntBE = function(e, t, r, n) {
            if (e = +e, t |= 0, !n) {
                var i = Math.pow(2, 8 * r - 1);
                D(this, e, t, r, i - 1, -i)
            }
            var o = r - 1,
            a = 1,
            s = 0;
            for (this[t + o] = 255 & e; --o >= 0 && (a *= 256);) e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1),
            this[t + o] = (e / a >> 0) - s & 255;
            return t + r
        },
        o.prototype.writeInt8 = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 1, 127, -128),
            o.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)),
            e < 0 && (e = 255 + e + 1),
            this[t] = 255 & e,
            t + 1
        },
        o.prototype.writeInt16LE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 2, 32767, -32768),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : M(this, e, t, !0),
            t + 2
        },
        o.prototype.writeInt16BE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 2, 32767, -32768),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : M(this, e, t, !1),
            t + 2
        },
        o.prototype.writeInt32LE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 4, 2147483647, -2147483648),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : B(this, e, t, !0),
            t + 4
        },
        o.prototype.writeInt32BE = function(e, t, r) {
            return e = +e,
            t |= 0,
            r || D(this, e, t, 4, 2147483647, -2147483648),
            e < 0 && (e = 4294967295 + e + 1),
            o.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : B(this, e, t, !1),
            t + 4
        },
        o.prototype.writeFloatLE = function(e, t, r) {
            return j(this, e, t, !0, r)
        },
        o.prototype.writeFloatBE = function(e, t, r) {
            return j(this, e, t, !1, r)
        },
        o.prototype.writeDoubleLE = function(e, t, r) {
            return F(this, e, t, !0, r)
        },
        o.prototype.writeDoubleBE = function(e, t, r) {
            return F(this, e, t, !1, r)
        },
        o.prototype.copy = function(e, t, r, n) {
            if (r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r) return 0;
            if (0 === e.length || 0 === this.length) return 0;
            if (t < 0) throw new RangeError("targetStart out of bounds");
            if (r < 0 || r >= this.length) throw new RangeError("sourceStart out of bounds");
            if (n < 0) throw new RangeError("sourceEnd out of bounds");
            n > this.length && (n = this.length),
            e.length - t < n - r && (n = e.length - t + r);
            var i, a = n - r;
            if (this === e && r < t && t < n) for (i = a - 1; i >= 0; --i) e[i + t] = this[i + r];
            else if (a < 1e3 || !o.TYPED_ARRAY_SUPPORT) for (i = 0; i < a; ++i) e[i + t] = this[i + r];
            else Uint8Array.prototype.set.call(e, this.subarray(r, r + a), t);
            return a
        },
        o.prototype.fill = function(e, t, r, n) {
            if ("string" == typeof e) {
                if ("string" == typeof t ? (n = t, t = 0, r = this.length) : "string" == typeof r && (n = r, r = this.length), 1 === e.length) {
                    var i = e.charCodeAt(0);
                    i < 256 && (e = i)
                }
                if (void 0 !== n && "string" != typeof n) throw new TypeError("encoding must be a string");
                if ("string" == typeof n && !o.isEncoding(n)) throw new TypeError("Unknown encoding: " + n)
            } else "number" == typeof e && (e &= 255);
            if (t < 0 || this.length < t || this.length < r) throw new RangeError("Out of range index");
            if (r <= t) return this;
            t >>>= 0,
            r = void 0 === r ? this.length: r >>> 0,
            e || (e = 0);
            var a;
            if ("number" == typeof e) for (a = t; a < r; ++a) this[a] = e;
            else {
                var s = o.isBuffer(e) ? e: V(new o(e, n).toString()),
                u = s.length;
                for (a = 0; a < r - t; ++a) this[a + t] = s[a % u]
            }
            return this
        };
        var ee = /[^+\/0-9A-Za-z-_]/g
    }).call(t, r(12))
},
function(e, t) {
    var r;
    r = function() {
        return this
    } ();
    try {
        r = r || Function("return this")() || (0, eval)("this")
    } catch(e) {
        "object" == typeof window && (r = window)
    }
    e.exports = r
},
function(e, t, r) {
    "use strict";
    function n(e) {
        var t = e.length;
        if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
        return "=" === e[t - 2] ? 2 : "=" === e[t - 1] ? 1 : 0
    }
    function i(e) {
        return 3 * e.length / 4 - n(e)
    }
    function o(e) {
        var t, r, i, o, a, s = e.length;
        o = n(e),
        a = new l(3 * s / 4 - o),
        r = o > 0 ? s - 4 : s;
        var u = 0;
        for (t = 0; t < r; t += 4) i = f[e.charCodeAt(t)] << 18 | f[e.charCodeAt(t + 1)] << 12 | f[e.charCodeAt(t + 2)] << 6 | f[e.charCodeAt(t + 3)],
        a[u++] = i >> 16 & 255,
        a[u++] = i >> 8 & 255,
        a[u++] = 255 & i;
        return 2 === o ? (i = f[e.charCodeAt(t)] << 2 | f[e.charCodeAt(t + 1)] >> 4, a[u++] = 255 & i) : 1 === o && (i = f[e.charCodeAt(t)] << 10 | f[e.charCodeAt(t + 1)] << 4 | f[e.charCodeAt(t + 2)] >> 2, a[u++] = i >> 8 & 255, a[u++] = 255 & i),
        a
    }
    function a(e) {
        return c[e >> 18 & 63] + c[e >> 12 & 63] + c[e >> 6 & 63] + c[63 & e]
    }
    function s(e, t, r) {
        for (var n, i = [], o = t; o < r; o += 3) n = (e[o] << 16) + (e[o + 1] << 8) + e[o + 2],
        i.push(a(n));
        return i.join("")
    }
    function u(e) {
        for (var t, r = e.length,
        n = r % 3,
        i = "",
        o = [], a = 0, u = r - n; a < u; a += 16383) o.push(s(e, a, a + 16383 > u ? u: a + 16383));
        return 1 === n ? (t = e[r - 1], i += c[t >> 2], i += c[t << 4 & 63], i += "==") : 2 === n && (t = (e[r - 2] << 8) + e[r - 1], i += c[t >> 10], i += c[t >> 4 & 63], i += c[t << 2 & 63], i += "="),
        o.push(i),
        o.join("")
    }
    t.byteLength = i,
    t.toByteArray = o,
    t.fromByteArray = u;
    for (var c = [], f = [], l = "undefined" != typeof Uint8Array ? Uint8Array: Array, h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", d = 0, p = h.length; d < p; ++d) c[d] = h[d],
    f[h.charCodeAt(d)] = d;
    f["-".charCodeAt(0)] = 62,
    f["_".charCodeAt(0)] = 63
},
function(e, t) {
    t.read = function(e, t, r, n, i) {
        var o, a, s = 8 * i - n - 1,
        u = (1 << s) - 1,
        c = u >> 1,
        f = -7,
        l = r ? i - 1 : 0,
        h = r ? -1 : 1,
        d = e[t + l];
        for (l += h, o = d & (1 << -f) - 1, d >>= -f, f += s; f > 0; o = 256 * o + e[t + l], l += h, f -= 8);
        for (a = o & (1 << -f) - 1, o >>= -f, f += n; f > 0; a = 256 * a + e[t + l], l += h, f -= 8);
        if (0 === o) o = 1 - c;
        else {
            if (o === u) return a ? NaN: 1 / 0 * (d ? -1 : 1);
            a += Math.pow(2, n),
            o -= c
        }
        return (d ? -1 : 1) * a * Math.pow(2, o - n)
    },
    t.write = function(e, t, r, n, i, o) {
        var a, s, u, c = 8 * o - i - 1,
        f = (1 << c) - 1,
        l = f >> 1,
        h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
        d = n ? 0 : o - 1,
        p = n ? 1 : -1,
        g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;
        for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = f) : (a = Math.floor(Math.log(t) / Math.LN2), t * (u = Math.pow(2, -a)) < 1 && (a--, u *= 2), t += a + l >= 1 ? h / u: h * Math.pow(2, 1 - l), t * u >= 2 && (a++, u /= 2), a + l >= f ? (s = 0, a = f) : a + l >= 1 ? (s = (t * u - 1) * Math.pow(2, i), a += l) : (s = t * Math.pow(2, l - 1) * Math.pow(2, i), a = 0)); i >= 8; e[r + d] = 255 & s, d += p, s /= 256, i -= 8);
        for (a = a << i | s, c += i; c > 0; e[r + d] = 255 & a, d += p, a /= 256, c -= 8);
        e[r + d - p] |= 128 * g
    }
},
function(e, t) {
    var r = {}.toString;
    e.exports = Array.isArray ||
    function(e) {
        return "[object Array]" == r.call(e)
    }
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "set",
            value: function(e, t) {
                try {
                    window.localStorage && localStorage.setItem(e, t)
                } catch(r) {
                    window[e + "_localStorage"] = t
                }
            }
        },
        {
            key: "get",
            value: function(e) {
                try {
                    if (window.localStorage) return localStorage.getItem(e)
                } catch(t) {
                    return window[e + "_localStorage"]
                }
                return ""
            }
        },
        {
            key: "remove",
            value: function(e) {
                try {
                    window.localStorage && localStorage.removeItem(e)
                } catch(t) {
                    delete window[e + "_localStorage"]
                }
            }
        }]),
        e
    } ();
    t.
default = o
},
function(e, t, r) {
    "use strict";
    function n(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    function i(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    a = r(3),
    s = n(a),
    u = r(18),
    c = n(u),
    f = r(19),
    l = n(f),
    h = r(20),
    d = n(h),
    p = function() {
        function e(t) {
            i(this, e);
            var r = d.
        default.os.name,
            n = d.
        default.os.version || "",
            o = d.
        default.browser.name,
            a = d.
        default.browser.version || "",
            u = window.location.href,
            c = "";
            u && (c = d.
        default.getHost(u));
            var f = "pc";
            d.
        default.os.ipad ? f = "pad": (d.
        default.os.iphone || d.
        default.os.android) && (f = "phone"),
            this._ri = s.
        default.create(),
            this.initParam = {
                APIVersion: "0.6.0",
                lv: "1",
                av: l.
            default.version,
                pd: "upload",
                sm: "upload",
                md: "uploader",
                uuid: e.getUuid(),
                os: r,
                ov: n,
                et: o,
                ev: a,
                uat: navigator.userAgent,
                app_n: c,
                tt: f,
                dm: "h5",
                ut: ""
            }
        }
        return o(e, [{
            key: "log",
            value: function(e, t) {
                t && t.ri ? (this._ri = t.ri, delete t.ri) : this._ri = s.
            default.create(),
                t && t.ut && (this.initParam.ut = t.ut, delete t.ut),
                this.initParam.t = (new Date).getTime(),
                this.initParam.ll = "20006" == e ? "error": "info",
                this.initParam.ri = this._ri,
                this.initParam.e = e;
                var r = [];
                if (t) for (var n in t) r.push(n + "=" + t[n]);
                var i = r.join("&");
                this.initParam.args = encodeURIComponent("" == i ? "0": i);
                var o = [];
                for (var n in this.initParam) o.push(n + "=" + this.initParam[n]);
                var a = o.join("&");
                if (AliyunUpload && AliyunUpload.__logTestCallback__) AliyunUpload.__logTestCallback__(a);
                else {
                    new Image(0, 0).src = "https://videocloud.cn-hangzhou.log.aliyuncs.com/logstores/upload/track?" + a
                }
            }
        }], [{
            key: "getUuid",
            value: function() {
                var e = c.
            default.get("p_h5_upload_u");
                return e || (e = s.
            default.create(), c.
            default.set("p_h5_upload_u", e, 730)),
                e
            }
        }]),
        e
    } ();
    t.
default = p
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "get",
            value: function(e) {
                for (var t = e + "",
                r = document.cookie.split(";"), n = 0; n < r.length; n++) {
                    var i = r[n].trim();
                    if (0 == i.indexOf(t)) return unescape(i.substring(t.length + 1, i.length))
                }
                return ""
            }
        },
        {
            key: "set",
            value: function(e, t, r) {
                var n = new Date;
                n.setTime(n.getTime() + 24 * r * 60 * 60 * 1e3);
                var i = "expires=" + n.toGMTString();
                document.cookie = e + "=" + escape(t) + "; " + i
            }
        }]),
        e
    } ();
    t.
default = o
},
function(e, t, r) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = {
        version: "1.4.0"
    };
    t.
default = n
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function(e) {
        var t = navigator.userAgent,
        r = "other";
        if (e.ios) return "iOS";
        if (e.android) return "android";
        if (t.indexOf("Baiduspider") > -1) return "Baiduspider";
        if (t.indexOf("PlayStation") > -1) return "PS4";
        var n = "Win32" == navigator.platform || "Windows" == navigator.platform || t.indexOf("Windows") > -1,
        i = "Mac68K" == navigator.platform || "MacPPC" == navigator.platform || "Macintosh" == navigator.platform || "MacIntel" == navigator.platform;
        return i && (r = "macOS"),
        "X11" == navigator.platform && !n && !i && (r = "Unix"),
        String(navigator.platform).indexOf("Linux") > -1 && (r = "Linux"),
        n ? "windows": r
    },
    a = function() {
        var e = navigator.userAgent,
        t = "";
        return (e.indexOf("Windows NT 5.0") > -1 || e.indexOf("Windows 2000") > -1) && (t = "2000"),
        (e.indexOf("Windows NT 5.1") > -1 || e.indexOf("Windows XP") > -1) && (t = "XP"),
        (e.indexOf("Windows NT 5.2") > -1 || e.indexOf("Windows 2003") > -1) && (t = "2003"),
        (e.indexOf("Windows NT 6.0") > -1 || e.indexOf("Windows Vista") > -1) && (t = "Vista"),
        (e.indexOf("Windows NT 6.1") > -1 || e.indexOf("Windows 7") > -1) && (t = "7"),
        (e.indexOf("Windows NT 6.2") > -1 || e.indexOf("Windows 8") > -1) && (t = "8"),
        (e.indexOf("Windows NT 6.3") > -1 || e.indexOf("Windows 8.1") > -1) && (t = "8.1"),
        (e.indexOf("Windows NT 10") > -1 || e.indexOf("Windows 10") > -1) && (t = "10"),
        t
    },
    s = function(e) {
        var t = navigator.userAgent.toLowerCase();
        return e.chrome ? "Chrome": e.firefox ? "Firefox": e.safari ? "Safari": e.webview ? "webview": e.ie ? /edge/.test(t) ? "Edge": "IE": /baiduspider/.test(t) ? "Baiduspider": /ucweb/.test(t) || /UCBrowser/.test(t) ? "UC": /opera/.test(t) ? "Opera": /ucweb/.test(t) ? "UC": /360se/.test(t) ? "360浏览器": /bidubrowser/.test(t) ? "百度浏览器": /metasr/.test(t) ? "搜狗浏览器": /lbbrowser/.test(t) ? "猎豹浏览器": /micromessenger/.test(t) ? "微信内置浏览器": /qqbrowser/.test(t) ? "QQ浏览器": /playstation/.test(t) ? "PS4浏览器": void 0
    },
    u = function() {
        var e = {},
        t = {},
        r = navigator.userAgent,
        n = navigator.platform,
        i = r.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
        u = r.match(/(Android);?[\s\/]+([\d.]+)?/),
        c = !!r.match(/\(Macintosh\; Intel /),
        f = r.match(/(iPad).*OS\s([\d_]+)/),
        l = r.match(/(iPod)(.*OS\s([\d_]+))?/),
        h = !f && r.match(/(iPhone\sOS)\s([\d_]+)/),
        d = r.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),
        p = /Win\d{2}|Windows/.test(n),
        g = r.match(/Windows Phone ([\d.]+)/),
        y = d && r.match(/TouchPad/),
        v = r.match(/Kindle\/([\d.]+)/),
        _ = r.match(/Silk\/([\d._]+)/),
        m = r.match(/(BlackBerry).*Version\/([\d.]+)/),
        T = r.match(/(BB10).*Version\/([\d.]+)/),
        w = r.match(/(RIM\sTablet\sOS)\s([\d.]+)/),
        A = r.match(/PlayBook/),
        S = r.match(/Chrome\/([\d.]+)/) || r.match(/CriOS\/([\d.]+)/),
        b = r.match(/Firefox\/([\d.]+)/),
        E = r.match(/\((?:Mobile|Tablet); rv:([\d.]+)\).*Firefox\/[\d.]+/),
        I = r.match(/MSIE\s([\d.]+)/) || r.match(/Trident\/[\d](?=[^\?]+).*rv:([0-9.].)/),
        k = !S && r.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/),
        U = k || r.match(/Version\/([\d.]+)([^S](Safari)|[^M]*(Mobile)[^S]*(Safari))/);
        if ((t.webkit = !!i) && (t.version = i[1]), u && (e.android = !0, e.version = u[2]), h && !l && (e.ios = e.iphone = !0, e.version = h[2].replace(/_/g, ".")), f && (e.ios = e.ipad = !0, e.version = f[2].replace(/_/g, ".")), l && (e.ios = e.ipod = !0, e.version = l[3] ? l[3].replace(/_/g, ".") : null), g && (e.wp = !0, e.version = g[1]), d && (e.webos = !0, e.version = d[2]), y && (e.touchpad = !0), m && (e.blackberry = !0, e.version = m[2]), T && (e.bb10 = !0, e.version = T[2]), w && (e.rimtabletos = !0, e.version = w[2]), A && (t.playbook = !0), v && (e.kindle = !0, e.version = v[1]), _ && (t.silk = !0, t.version = _[1]), !_ && e.android && r.match(/Kindle Fire/) && (t.silk = !0), S && (t.chrome = !0, t.version = S[1]), b && (t.firefox = !0, t.version = b[1]), E && (e.firefoxos = !0, e.version = E[1]), I && (t.ie = !0, t.version = I[1]), U && (c || e.ios || p || u) && (t.safari = !0, e.ios || (t.version = U[1])), k && (t.webview = !0), c) {
            var P = r.match(/[\d]*_[\d]*_[\d]*/);
            P && P.length > 0 && P[0] && (e.version = P[0].replace(/_/g, "."))
        }
        return e.tablet = !!(f || A || u && !r.match(/Mobile/) || b && r.match(/Tablet/) || I && !r.match(/Phone/) && r.match(/Touch/)),
        e.phone = !(e.tablet || e.ipod || !(u || h || d || m || T || S && r.match(/Android/) || S && r.match(/CriOS\/([\d.]+)/) || b && r.match(/Mobile/) || I && r.match(/Touch/))),
        e.pc = !e.tablet && !e.phone,
        c ? e.name = "macOS": p ? (e.name = "windows", e.version = a()) : e.name = o(e),
        t.name = s(t),
        {
            os: e,
            browser: t
        }
    } (),
    c = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "getHost",
            value: function(e) {
                var t = "";
                if (void 0 === e || null == e || "" == e) return "";
                var r = e.indexOf("//"),
                n = e;
                r > -1 && (n = e.substring(r + 2));
                var t = n,
                i = n.split("/");
                return i && i.length > 0 && (t = i[0]),
                i = t.split(":"),
                i && i.length > 0 && (t = i[0]),
                t
            }
        },
        {
            key: "os",
            get: function() {
                return u.os
            }
        },
        {
            key: "browser",
            get: function() {
                var e = u.browser;
                return e.name || (e.name = this.getBrowserType()),
                e
            }
        }]),
        e
    } ();
    t.
default = c
},
function(e, t, r) {
    "use strict";
    function n(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    function i(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    a = r(22),
    s = n(a),
    u = r(23),
    c = n(u),
    f = function() {
        function e() {
            i(this, e)
        }
        return o(e, null, [{
            key: "refreshUploadAuth",
            value: function(e, t, r) {
                var n = (c.
            default.randomUUID(), c.
            default.randomUUID()),
                i = {
                    AccessKeyId: e.accessKeyId,
                    SecurityToken: e.securityToken,
                    Action: "RefreshUploadVideo",
                    VideoId: e.videoId,
                    Version: "2017-03-21",
                    Format: "JSON",
                    SignatureMethod: "HMAC-SHA1",
                    SignatureVersion: "1.0",
                    SignatureNonce: n,
                    RequestId: e.requestId
                },
                o = c.
            default.makeUTF8sort(i, "=", "&") + "&Signature=" + c.
            default.aliyunEncodeURI(c.
            default.makeChangeSiga(i, e.accessKeySecret)),
                a = "https://vod.cn-shanghai.aliyuncs.com/?" + o;
                s.
            default.get(a,
                function(e) {
                    var e = JSON.parse(e);
                    t && t(e)
                },
                function(e) {
                    if (r) {
                        var t = JSON.parse(e);
                        r(t)
                    }
                })
            }
        },
        {
            key: "getUploadAuth",
            value: function(e, t, r) {
                var n = (c.
            default.randomUUID(), c.
            default.randomUUID()),
                i = {
                    AccessKeyId: e.accessKeyId,
                    SecurityToken: e.securityToken,
                    Action: "CreateUploadVideo",
                    Title: e.title,
                    FileName: e.fileName,
                    Version: "2017-03-21",
                    Format: "JSON",
                    SignatureMethod: "HMAC-SHA1",
                    SignatureVersion: "1.0",
                    SignatureNonce: n,
                    RequestId: e.requestId
                };
                e.fileSize && (i.FileSize = e.fileSize),
                e.description && (i.Description = e.description),
                e.cateId && (i.CateId = e.cateId),
                e.tags && (i.Tags = e.tags),
                e.templateGroupId && (i.TemplateGroupId = e.templateGroupId),
                e.storageLocation && (i.StorageLocation = e.storageLocation),
                e.coverUrl && (i.CoverURL = e.coverUrl),
                e.transCodeMode && (i.TransCodeMode = e.transCodeMode),
                e.userData && (i.UserData = e.userData);
                var o = c.
            default.makeUTF8sort(i, "=", "&") + "&Signature=" + c.
            default.aliyunEncodeURI(c.
            default.makeChangeSiga(i, e.accessKeySecret)),
                a = "https://vod.cn-shanghai.aliyuncs.com/?" + o;
                s.
            default.get(a,
                function(e) {
                    var e = JSON.parse(e);
                    t && t(e)
                },
                function(e) {
                    if (r) {
                        var t = JSON.parse(e);
                        r(t)
                    }
                })
            }
        },
        {
            key: "getImageUploadAuth",
            value: function(e, t, r) {
                var n = (c.
            default.randomUUID(), c.
            default.randomUUID()),
                i = {
                    AccessKeyId: e.accessKeyId,
                    SecurityToken: e.securityToken,
                    Action: "CreateUploadImage",
                    ImageType: e.imageType ? e.imageType: "default",
                    Version: "2017-03-21",
                    Format: "JSON",
                    SignatureMethod: "HMAC-SHA1",
                    SignatureVersion: "1.0",
                    SignatureNonce: n,
                    RequestId: e.requestId
                };
                e.title && (i.Title = e.title),
                e.imageExt && (i.ImageExt = e.imageExt),
                e.tags && (i.Tags = e.tags),
                e.storageLocation && (i.StorageLocation = e.storageLocation);
                var o = c.
            default.makeUTF8sort(i, "=", "&") + "&Signature=" + c.
            default.aliyunEncodeURI(c.
            default.makeChangeSiga(i, e.accessKeySecret)),
                a = "https://vod.cn-shanghai.aliyuncs.com/?" + o;
                s.
            default.get(a,
                function(e) {
                    var e = JSON.parse(e);
                    t && t(e)
                },
                function(e) {
                    if (r) {
                        var t = JSON.parse(e);
                        r(t)
                    }
                })
            }
        }]),
        e
    } ();
    t.
default = f
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "get",
            value: function(e, t, r, n, i) {
                var o;
                r = r ||
                function() {},
                "undefined" == typeof XMLHttpRequest && (window.XMLHttpRequest = function() {
                    try {
                        return new window.ActiveXObject("Msxml2.XMLHTTP.6.0")
                    } catch(e) {}
                    try {
                        return new window.ActiveXObject("Msxml2.XMLHTTP.3.0")
                    } catch(e) {}
                    try {
                        return new window.ActiveXObject("Msxml2.XMLHTTP")
                    } catch(e) {}
                    throw new Error("This browser does not support XMLHttpRequest.")
                }),
                o = new XMLHttpRequest,
                o.onreadystatechange = function() {
                    4 === o.readyState && (200 === o.status ? t(o.responseText) : r(o.responseText))
                };
                try {
                    void 0 === n && (n = !0),
                    o.open("GET", e, n),
                    i && (o.withCredentials = !0)
                } catch(e) {
                    return void r(e)
                }
                try {
                    o.send()
                } catch(e) {
                    r(e)
                }
            }
        }]),
        e
    } ();
    t.
default = o
},
function(e, t, r) {
    "use strict";
    function n(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        function e(e, t) {
            for (var r = 0; r < t.length; r++) {
                var n = t[r];
                n.enumerable = n.enumerable || !1,
                n.configurable = !0,
                "value" in n && (n.writable = !0),
                Object.defineProperty(e, n.key, n)
            }
        }
        return function(t, r, n) {
            return r && e(t.prototype, r),
            n && e(t, n),
            t
        }
    } (),
    o = r(24),
    a = r(27),
    s = (r(28),
    function() {
        function e() {
            n(this, e)
        }
        return i(e, null, [{
            key: "randomUUID",
            value: function() {
                for (var e = [], t = "0123456789abcdef", r = 0; r < 36; r++) e[r] = t.substr(Math.floor(16 * Math.random()), 1);
                return e[14] = "4",
                e[19] = t.substr(3 & e[19] | 8, 1),
                e[8] = e[13] = e[18] = e[23] = "-",
                e.join("")
            }
        },
        {
            key: "aliyunEncodeURI",
            value: function(e) {
                var t = encodeURIComponent(e);
                return t = t.replace(/\+/g, "%20").replace(/\*/g, "%2A").replace(/%7E/g, "~").replace(/!/g, "%21").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/'/g, "%27")
            }
        },
        {
            key: "makeUTF8sort",
            value: function(t, r, n) {
                if (!t) throw new Error("PrismPlayer Error: vid should not be null!");
                var i = [];
                for (var o in t) i.push(o);
                for (var a = i.sort(), s = "", u = a.length, o = 0; o < u; o++) {
                    var c = e.aliyunEncodeURI(a[o]),
                    f = e.aliyunEncodeURI(t[a[o]]);
                    "" == s ? s = c + r + f: s += n + c + r + f
                }
                return s
            }
        },
        {
            key: "makeChangeSiga",
            value: function(t, r) {
                if (!t) throw new Error("PrismPlayer Error: vid should not be null!");
                return a.stringify(o("GET&" + e.aliyunEncodeURI("/") + "&" + e.aliyunEncodeURI(e.makeUTF8sort(t, "=", "&")), r + "&"))
            }
        }]),
        e
    } ());
    t.
default = s
},
function(e, t, r) { !
    function(n, i, o) {
        e.exports = t = i(r(0), r(25), r(26))
    } (0,
    function(e) {
        return e.HmacSHA1
    })
},
function(e, t, r) { !
    function(n, i) {
        e.exports = t = i(r(0))
    } (0,
    function(e) {
        return function() {
            var t = e,
            r = t.lib,
            n = r.WordArray,
            i = r.Hasher,
            o = t.algo,
            a = [],
            s = o.SHA1 = i.extend({
                _doReset: function() {
                    this._hash = new n.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])
                },
                _doProcessBlock: function(e, t) {
                    for (var r = this._hash.words,
                    n = r[0], i = r[1], o = r[2], s = r[3], u = r[4], c = 0; c < 80; c++) {
                        if (c < 16) a[c] = 0 | e[t + c];
                        else {
                            var f = a[c - 3] ^ a[c - 8] ^ a[c - 14] ^ a[c - 16];
                            a[c] = f << 1 | f >>> 31
                        }
                        var l = (n << 5 | n >>> 27) + u + a[c];
                        l += c < 20 ? 1518500249 + (i & o | ~i & s) : c < 40 ? 1859775393 + (i ^ o ^ s) : c < 60 ? (i & o | i & s | o & s) - 1894007588 : (i ^ o ^ s) - 899497514,
                        u = s,
                        s = o,
                        o = i << 30 | i >>> 2,
                        i = n,
                        n = l
                    }
                    r[0] = r[0] + n | 0,
                    r[1] = r[1] + i | 0,
                    r[2] = r[2] + o | 0,
                    r[3] = r[3] + s | 0,
                    r[4] = r[4] + u | 0
                },
                _doFinalize: function() {
                    var e = this._data,
                    t = e.words,
                    r = 8 * this._nDataBytes,
                    n = 8 * e.sigBytes;
                    return t[n >>> 5] |= 128 << 24 - n % 32,
                    t[14 + (n + 64 >>> 9 << 4)] = Math.floor(r / 4294967296),
                    t[15 + (n + 64 >>> 9 << 4)] = r,
                    e.sigBytes = 4 * t.length,
                    this._process(),
                    this._hash
                },
                clone: function() {
                    var e = i.clone.call(this);
                    return e._hash = this._hash.clone(),
                    e
                }
            });
            t.SHA1 = i._createHelper(s),
            t.HmacSHA1 = i._createHmacHelper(s)
        } (),
        e.SHA1
    })
},
function(e, t, r) { !
    function(n, i) {
        e.exports = t = i(r(0))
    } (0,
    function(e) { !
        function() {
            var t = e,
            r = t.lib,
            n = r.Base,
            i = t.enc,
            o = i.Utf8,
            a = t.algo;
            a.HMAC = n.extend({
                init: function(e, t) {
                    e = this._hasher = new e.init,
                    "string" == typeof t && (t = o.parse(t));
                    var r = e.blockSize,
                    n = 4 * r;
                    t.sigBytes > n && (t = e.finalize(t)),
                    t.clamp();
                    for (var i = this._oKey = t.clone(), a = this._iKey = t.clone(), s = i.words, u = a.words, c = 0; c < r; c++) s[c] ^= 1549556828,
                    u[c] ^= 909522486;
                    i.sigBytes = a.sigBytes = n,
                    this.reset()
                },
                reset: function() {
                    var e = this._hasher;
                    e.reset(),
                    e.update(this._iKey)
                },
                update: function(e) {
                    return this._hasher.update(e),
                    this
                },
                finalize: function(e) {
                    var t = this._hasher,
                    r = t.finalize(e);
                    return t.reset(),
                    t.finalize(this._oKey.clone().concat(r))
                }
            })
        } ()
    })
},
function(e, t, r) { !
    function(n, i) {
        e.exports = t = i(r(0))
    } (0,
    function(e) {
        return function() {
            function t(e, t, r) {
                for (var n = [], o = 0, a = 0; a < t; a++) if (a % 4) {
                    var s = r[e.charCodeAt(a - 1)] << a % 4 * 2,
                    u = r[e.charCodeAt(a)] >>> 6 - a % 4 * 2;
                    n[o >>> 2] |= (s | u) << 24 - o % 4 * 8,
                    o++
                }
                return i.create(n, o)
            }
            var r = e,
            n = r.lib,
            i = n.WordArray,
            o = r.enc;
            o.Base64 = {
                stringify: function(e) {
                    var t = e.words,
                    r = e.sigBytes,
                    n = this._map;
                    e.clamp();
                    for (var i = [], o = 0; o < r; o += 3) for (var a = t[o >>> 2] >>> 24 - o % 4 * 8 & 255, s = t[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255, u = t[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, c = a << 16 | s << 8 | u, f = 0; f < 4 && o + .75 * f < r; f++) i.push(n.charAt(c >>> 6 * (3 - f) & 63));
                    var l = n.charAt(64);
                    if (l) for (; i.length % 4;) i.push(l);
                    return i.join("")
                },
                parse: function(e) {
                    var r = e.length,
                    n = this._map,
                    i = this._reverseMap;
                    if (!i) {
                        i = this._reverseMap = [];
                        for (var o = 0; o < n.length; o++) i[n.charCodeAt(o)] = o
                    }
                    var a = n.charAt(64);
                    if (a) {
                        var s = e.indexOf(a); - 1 !== s && (r = s)
                    }
                    return t(e, r, i)
                },
                _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
            }
        } (),
        e.enc.Base64
    })
},
function(e, t, r) { !
    function(n, i) {
        e.exports = t = i(r(0))
    } (0,
    function(e) {
        return e.enc.Utf8
    })
}]);